package com.aizuda.boot.modules.business.feishu.strategy;

import com.aizuda.boot.modules.auth.domain.entity.ThirdUser;
import com.aizuda.boot.modules.system.entity.SysMessage;
import com.aizuda.boot.modules.business.feishu.domain.AtUsersDTO;
import com.aizuda.boot.modules.business.feishu.domain.BotValues;

/**
 * 模版参数构建策略接口
 * 
 * @author system
 * @date 2025-01-22
 */
public interface TemplateParameterStrategy {

    /**
     * 判断是否支持此策略
     * 
     * @param tenantKey 租户标识
     * @param businessType 业务类型
     * @return 是否支持
     */
    boolean supports(String tenantKey, String businessType);

    /**
     * 构建模版参数
     * 
     * @param message 系统消息
     * @param thirdUser 第三方用户
     * @return 构建好的BotValues对象
     */
    BotValues buildTemplateParameters(SysMessage message, ThirdUser thirdUser);


    /**
     * 构建@模版参数
     * @param dto
     * @param thirdUser
     * @return
     */
    BotValues buildAtTemplate(AtUsersDTO dto, ThirdUser thirdUser);
} 